//package com.android.view;
//
//import android.animation.ObjectAnimator;
//import android.animation.ValueAnimator;
//import android.content.Context;
//import android.support.annotation.AttrRes;
//import android.support.annotation.NonNull;
//import android.support.annotation.Nullable;
//import android.util.AttributeSet;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.animation.LinearInterpolator;
//import android.widget.FrameLayout;
//import android.widget.ImageView;
//
//import com.galaxy.internet.galaxystock.R;
//
//import in.srain.cube.views.ptr.PtrFrameLayout;
//import in.srain.cube.views.ptr.PtrUIHandler;
//import in.srain.cube.views.ptr.indicator.PtrIndicator;
//
///**
// * Created by mj
// * on 2017/7/23.
// */
//
//public class CustomRefreshHeaderView extends FrameLayout implements PtrUIHandler {
//
//
//    private static final String TAG = "CustomRefreshHeaderView";
//
//    /**
//     * 旋转的图片
//     */
//    ImageView ivLoading;
//    /**
//     * 动画对象
//     */
//    ObjectAnimator objectAnimator;
//
//    public CustomRefreshHeaderView(@NonNull Context context) {
//        this(context, null);
//    }
//
//    public CustomRefreshHeaderView(@NonNull Context context, @Nullable AttributeSet attrs) {
//        this(context, attrs, 0);
//    }
//
//    public CustomRefreshHeaderView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) {
//        super(context, attrs, defStyleAttr);
//        initView();
//        initAnimation();
//    }
//
//
//    /**
//     * 初始化view
//     */
//    private void initView() {
//        View view = LayoutInflater.from(getContext()).inflate(R.layout.custom_refresh_header_view, this, false);
//        ivLoading = (ImageView) view.findViewById(R.id.iv_loading);
//        addView(view);
//    }
//
//
//    @Override
//    public void onUIReset(PtrFrameLayout frame) {
//        stopRotation();
//    }
//
//    @Override
//    public void onUIRefreshPrepare(PtrFrameLayout frame) {
//
//    }
//
//    @Override
//    public void onUIRefreshBegin(PtrFrameLayout frame) {
//        startRotation();
//    }
//
//    @Override
//    public void onUIRefreshComplete(PtrFrameLayout frame) {
//        stopRotation();
//    }
//
//
//    @Override
//    public void onUIPositionChange(PtrFrameLayout frame, boolean isUnderTouch, byte status, PtrIndicator ptrIndicator) {
//        float currentPercent = ptrIndicator.getCurrentPercent();
////        int currentPosY = ptrIndicator.getCurrentPosY();
////        int headerHeight = ptrIndicator.getHeaderHeight();
////        Log.e(TAG, "currentPercent=" + currentPercent + "##" + "currentPosY=" + currentPosY + "##headerHeight=" + headerHeight);
//        if (isUnderTouch) {
//            ivLoading.setRotation(currentPercent * 100);
//        }
//    }
//
//    private void initAnimation() {
//        objectAnimator = ObjectAnimator.ofFloat(ivLoading, "rotation", 0, 360);
//        objectAnimator.setRepeatCount(-1);
//        objectAnimator.setRepeatMode(ValueAnimator.RESTART);
//        objectAnimator.setInterpolator(new LinearInterpolator());
//        objectAnimator.setDuration(500);
//    }
//
//    /**
//     * 启动旋转动画
//     */
//    private void startRotation() {
//        if (objectAnimator != null && !objectAnimator.isRunning()) {
//            objectAnimator.start();
//        }
//    }
//
//    /**
//     * 停止动画
//     */
//    private void stopRotation() {
//        if (objectAnimator != null && objectAnimator.isRunning()) {
//            objectAnimator.cancel();
//        }
//    }
//
//
//}
